/* 高斯消元 O(n^3)
* 处理方法：枚举列
    找主元(绝对值最大的数)
    交换: 主元所在行换到最上方
    归一: 主元化为1
    消: 把这一列的其他行化为0

* 本题:
    将n元二次方程化为n元一次方程，坐标已知，化到右边
    c[i][j]x[j] + c[i][j+1]x[j+1] + ... + c[i][n]x[n] = d[i]
    其中d[i] = a[i][1]^2 + a[i][2]^2 + ... + a[i][n]^2 - a[1][1]^2 - a[1][2]^2 - ... - a[1][n]^2
*/

#define DEBUG
#pragma GCC optimize("O1,O2,O3,Ofast")
#pragma GCC optimize("no-stack-protector,unroll-loops,fast-math,inline")
#pragma GCC target("avx,avx2,fma")
#pragma GCC target("sse,sse2,sse3,sse4,sse4.1,sse4.2,ssse3")

#include <cstring>
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
const int N = 15;

int n;
double a[N][N], b[N][N];

void Gauss()
{
    //化成上三角矩阵
    for(int r=  1, c = 1; c <= n; ++r, ++c) { //r行c列
        //找主元
        int t = r;
        for(int i = r+1; i <= n; ++i) //找到较大值
            if(fabs(b[i][c]) > fabs(b[t][c]))
                t = i;
        
        //交换第r行和第t行的元素，将主元换到最上方
        for(int i = c; i <= n+1; ++i) swap(b[r][i], b[t][i]);

        //归一化(第r行(主元所在行)除以主元系数)
        for(int i = n+1; i >= c; --i) b[r][i] /= b[r][c];

        //消元(用主元所在行把下面所有行的第c列消为0)
        for(int i = r+1; i <= n; i++) {
            for(int j = n+1; j >= c; --j) {
                b[i][j] -= b[r][j] * b[i][c];
            }
        }
    }
    
    //化成行最简阶梯型矩阵(本题唯一解，为对角矩阵)
    for(int i = n; i > 1; --i) {
        for(int j = i-1; j; --j) {
            b[j][n+1] -= b[i][n+1] * b[j][i];
            b[j][i] = 0;
        }
    }

    
}

signed main()
{
    #ifdef DEBUG
        freopen("./in.txt", "r", stdin);
    #else
        ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    #endif

    cin >> n;
    for(int i = 0; i <= n; ++i)
        for(int j = 1; j <= n; ++j)
            cin >> a[i][j];

    // 转为线性方程组
    for(int i = 1; i <= n; ++i)
        for(int j = 1; j <= n; ++j)
        {
            b[i][j] += 2*(a[i][j] - a[0][j]);
            b[i][n+1] += a[i][j] * a[i][j] - a[0][j] * a[0][j];
        }
    
    Gauss(); //Gauss消元
    for (int i = 1; i <= n; ++ i)
        printf("%.3lf ", b[i][n + 1]);
    return 0;
}
